@echo off
chcp 65001 >nul
echo 电源管理配置脚本
echo =================

:: 检查管理员权限
net session >nul 2>&1
if errorlevel 1 (
    echo 错误：需要管理员权限来配置电源管理
    echo 请右键以管理员身份运行此脚本
    pause
    exit /b 1
)

echo.
echo 请选择电源管理配置：
echo =================
echo 1. 禁用休眠（推荐用于服务器）
echo =================
echo 2. 设置短休眠时间（30分钟）
echo =================
echo 3. 设置中等休眠时间（2小时）
echo =================
echo 4. 查看当前电源设置
echo =================
echo 5. 恢复默认电源设置
echo =================
echo 0. 退出
echo.
set /p choice=请输入选择（0-5）: 

if "%choice%"=="1" goto disable_sleep
if "%choice%"=="2" goto short_sleep
if "%choice%"=="3" goto medium_sleep
if "%choice%"=="4" goto view_settings
if "%choice%"=="5" goto restore_default
if "%choice%"=="0" goto exit
echo 无效选择，请重新输入
goto menu

:disable_sleep
echo 正在禁用休眠...
powercfg -h off
echo 休眠已禁用
echo 注意：这将禁用休眠功能，电脑将不会自动休眠
pause
goto menu

:short_sleep
echo 正在设置短休眠时间（30分钟）...
powercfg -change -standby-timeout-ac 30
powercfg -change -standby-timeout-dc 30
powercfg -change -hibernate-timeout-ac 30
powercfg -change -hibernate-timeout-dc 30
echo 已设置30分钟休眠时间
pause
goto menu

:medium_sleep
echo 正在设置中等休眠时间（2小时）...
powercfg -change -standby-timeout-ac 120
powercfg -change -standby-timeout-dc 120
powercfg -change -hibernate-timeout-ac 120
powercfg -change -hibernate-timeout-dc 120
echo 已设置2小时休眠时间
pause
goto menu

:view_settings
echo 当前电源设置：
echo ==============
powercfg /query SCHEME_CURRENT SUB_SLEEP STANDBYIDLE
echo.
powercfg /query SCHEME_CURRENT SUB_SLEEP HIBERNATEIDLE
echo.
pause
goto menu

:restore_default
echo 正在恢复默认电源设置...
powercfg -restoredefaultschemes
echo 已恢复默认电源设置
pause
goto menu

:menu
goto menu

:exit
echo 再见！
exit /b 0
